home *** CD-ROM | disk | FTP | other *** search
- { about.pas -- Display "About box" dialog }
-
- program About;
-
- {$R about.res}
-
- uses WinTypes, WinProcs, WObjects;
-
- const
-
- id_Menu = 100; { Menu resource ID }
- cm_About = 101; { About command ID }
- cm_Quit = 102; { Exit command ID }
-
- type
-
- AboutApplication = object(TApplication)
- procedure InitMainWindow; virtual;
- end;
-
- PAboutWindow = ^AboutWindow;
- AboutWindow = object(TWindow)
- constructor Init(AParent: PWindowsObject; ATitle: PChar);
- procedure CMAbout(var Msg: TMessage);
- virtual cm_First + cm_About;
- procedure CMQuit(var Msg: TMessage);
- virtual cm_First + cm_Quit;
- end;
-
-
- { AboutApplication }
-
- {- Initialize AboutApplication object's window }
- procedure AboutApplication.InitMainWindow;
- begin
- MainWindow := New(PAboutWindow, Init(nil, 'About'))
- end;
-
-
- { AboutWindow }
-
- {- Construct AboutWindow object }
- constructor AboutWindow.Init(AParent: PWindowsObject; ATitle: PChar);
- begin
- TWindow.Init(AParent, ATitle);
- Attr.Menu := LoadMenu(HInstance, PChar(id_Menu))
- end;
-
- {- Display "About box" dialog }
- procedure AboutWindow.CMAbout(var Msg: TMessage);
- var
- Dialog: TDialog; { Takes about 38 bytes of stack space }
- begin
- Dialog.Init(@Self, 'About');
- Dialog.Execute;
- Dialog.Done
- end;
-
- (* Alternate #1
- procedure AboutWindow.CMAbout(var Msg: TMessage);
- var
- P: PDialog;
- begin
- P := New(PDialog, Init(@Self, 'About'));
- Application^.ExecDialog(P)
- end;
- *)
-
- (* Alternate #2
- procedure AboutWindow.CMAbout(var Msg: TMessage);
- begin
- Application^.ExecDialog(New(PDialog, Init(@Self, 'About')))
- end;
- *)
-
- {- Quit program }
- procedure AboutWindow.CMQuit(var Msg: TMessage);
- begin
- CloseWindow
- end;
-
- var
-
- AboutApp: AboutApplication;
-
- begin
- AboutApp.Init('AboutApp');
- AboutApp.Run;
- AboutApp.Done
- end.
-
-
- {--------------------------------------------------------------
- Copyright (c) 1991 by Tom Swan. All rights reserved.
- Revision 1.00 Date: 3/12/1991
- ---------------------------------------------------------------}
-